home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / fcntl.h < prev    next >
C/C++ Source or Header  |  1991-12-05  |  2KB  |  58 lines

  1. /*
  2.  * Copyright (c) 1983 Regents of the University of California.
  3.  * All rights reserved.  The Berkeley software License Agreement
  4.  * specifies the terms and conditions for redistribution.
  5.  *
  6.  *    @(#)fcntl.h    5.2 (Berkeley) 1/8/86
  7.  * $Header: /sprite/src/lib/include/RCS/fcntl.h,v 1.6 91/12/05 10:40:45 ouster Exp $
  8.  */
  9.  
  10. #ifndef _FCNTL
  11. #define _FCNTL
  12.  
  13. #include <cfuncproto.h>
  14.  
  15. /*
  16.  * Flag values accessible to open(2) and fcntl(2)-- copied from
  17.  * <sys/file.h>.  (The first three can only be set by open.)
  18.  */
  19. #define    O_RDONLY    000        /* open for reading */
  20. #define    O_WRONLY    001        /* open for writing */
  21. #define    O_RDWR        002        /* open for read & write */
  22. #define    O_NDELAY    FNDELAY        /* non-blocking open */
  23.                     /* really non-blocking I/O for fcntl */
  24. #define    O_APPEND    FAPPEND        /* append on each write */
  25. #define    O_CREAT        FCREAT        /* open with file create */
  26. #define    O_TRUNC        FTRUNC        /* open with truncation */
  27. #define    O_EXCL        FEXCL        /* error on create if file exists */
  28.  
  29. #ifndef    F_DUPFD
  30. /* fcntl(2) requests */
  31. #define    F_DUPFD        0    /* Duplicate fildes */
  32. #define    F_GETFD        1    /* Get fildes flags */
  33. #define    F_SETFD        2    /* Set fildes flags */
  34. #define    F_GETFL        3    /* Get file flags */
  35. #define    F_SETFL        4    /* Set file flags */
  36. #define    F_GETOWN    5    /* Get owner */
  37. #define    F_SETOWN    6    /* Set owner */
  38. #define    F_GETLK        7    /* Get record-lock info */
  39. #define    F_SETLK        8    /* Set or clear a record-lock */
  40. #define    F_SETLKW    9    /* Set or clear a record-lock (blocking) */
  41. #define    F_RGETLK    10    /* Test if lock blocked */
  42. #define    F_RSETLK    11    /* Set or unlock lock */
  43. #define    F_CNVT        12    /* Convert fhandle to fd */
  44. #define    F_RSETLKW    13    /* Set or clear remote lock (blocking) */
  45.  
  46. /* flags for F_GETFL, F_SETFL-- copied from <sys/file.h> */
  47. #define    FNDELAY        00004        /* non-blocking reads */
  48. #define    FAPPEND        00010        /* append on each write */
  49. #define    FASYNC        00100        /* signal pgrp when data ready */
  50. #define    FCREAT        01000        /* create if nonexistant */
  51. #define    FTRUNC        02000        /* truncate to zero length */
  52. #define    FEXCL        04000        /* error if already created */
  53. #endif
  54.  
  55. extern int open _ARGS_((_CONST char *name, int flags, ...));
  56.  
  57. #endif /* _FCNTL */
  58.